package com.fzt.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.fzt.admin.common.convention.result.Result;
import com.fzt.admin.dao.entity.UserDO;
import com.fzt.admin.dto.req.UserLoginReqDTO;
import com.fzt.admin.dto.req.UserRegisterDTO;
import com.fzt.admin.dto.req.UserUpdateReqDTO;
import com.fzt.admin.dto.resp.UserLoginRespDTO;
import com.fzt.admin.dto.resp.UserRespDTO;

public interface UserService extends IService<UserDO> {
    Result<UserRespDTO> getUserByUsername(String username);

    void register(UserRegisterDTO userRegisterDTO);

    Boolean hasUsername(String username);

    void updateByUsername(UserUpdateReqDTO userUpdateReqDTO);

    UserLoginRespDTO login(UserLoginReqDTO userLoginReqDTO);

    Boolean checkLogin(String token, String username);

    void logout(String token, String username);
}
